In [1]:
from pathlib import Path

from ipyniivue import download_dataset

BASE_API_URL = "https://niivue.com/demos/images/"
DATA_FOLDER = Path("images")

# Download data for example
download_dataset(
    BASE_API_URL,
    DATA_FOLDER,
    files=[
        "mni152.nii.gz",
        "narps-4965_9U7M-hypo1_unthresh.nii.gz",
        "narps-4735_50GV-hypo1_unthresh.nii.gz",
    ],
)
mni152.nii.gz already exists.
narps-4965_9U7M-hypo1_unthresh.nii.gz already exists.
narps-4735_50GV-hypo1_unthresh.nii.gz already exists.
Dataset downloaded successfully to images.
In [2]:
import ipywidgets

from ipyniivue import NiiVue

# based on https://niivue.github.io/niivue/features/additive.voxels.html

volumes = [
    {"path": DATA_FOLDER / "mni152.nii.gz"},
    {
        "path": DATA_FOLDER / "narps-4965_9U7M-hypo1_unthresh.nii.gz",
        "colormap": "red",
        "cal_min": 2,
        "cal_max": 4,
    },
    {
        "path": DATA_FOLDER / "narps-4735_50GV-hypo1_unthresh.nii.gz",
        "colormap": "green",
        "cal_min": 2,
        "cal_max": 4,
    },
]
nv = NiiVue(
    back_color=(1, 1, 1, 1),
    show_3D_crosshair=True,
    is_colorbar=True,
)
nv.load_volumes(volumes)

nv.volumes[0].colorbar_visible = False
sred = ipywidgets.FloatSlider(min=0.1, max=0.4, step=0.01, value=0.2)
ipywidgets.link((sred, "value"), (nv.volumes[1], "cal_min"))
sgreen = ipywidgets.FloatSlider(min=0.1, max=0.4, step=0.01, value=0.2)
ipywidgets.link((sgreen, "value"), (nv.volumes[2], "cal_min"))

controls = ipywidgets.HBox([sred, sgreen])

display(ipywidgets.VBox([controls, nv]))